Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-38738: [C++] Check variadic buffer counts in bounds #38740

Merged
merged 3 commits into from
Nov 27, 2023

Conversation

bkietz
Copy link
Member

@bkietz bkietz commented Nov 15, 2023

Rationale for this change

Invalid variadic buffer counts can cause allocating storage for variadic buffers to fail.

What changes are included in this PR?

Check variadic buffer counts are valid before they are used as an allocator argument.

Are these changes tested?

They pass with the fuzzer testcase.

Are there any user-facing changes?

No

@bkietz
Copy link
Member Author

bkietz commented Nov 15, 2023

Should the fuzzer testcases be added to testing/data/arrow-ipc-stream/ ?

@bkietz bkietz requested a review from pitrou November 15, 2023 21:06
cpp/src/arrow/ipc/reader.cc Outdated Show resolved Hide resolved
@pitrou
Copy link
Member

pitrou commented Nov 23, 2023

Should the fuzzer testcases be added to testing/data/arrow-ipc-stream/ ?

Yes, they should

Co-authored-by: Antoine Pitrou <pitrou@free.fr>
@bkietz
Copy link
Member Author

bkietz commented Nov 27, 2023

fuzz regression file added in apache/arrow-testing#98

@bkietz bkietz merged commit 84c15da into apache:main Nov 27, 2023
33 of 35 checks passed
@bkietz bkietz removed the awaiting committer review Awaiting committer review label Nov 27, 2023
@bkietz bkietz deleted the 38738-fuzz-variadic-buffer-count-bounds branch November 27, 2023 17:10
Copy link

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 84c15da.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 6 possible false positives for unstable benchmarks that are known to sometimes produce them.

dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
…38740)

### Rationale for this change

Invalid variadic buffer counts can cause allocating storage for variadic buffers to fail.

### What changes are included in this PR?

Check variadic buffer counts are valid before they are used as an allocator argument.

### Are these changes tested?

They pass with the fuzzer testcase.

### Are there any user-facing changes?

No

* Closes: apache#38738

Lead-authored-by: Benjamin Kietzman <bengilgit@gmail.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Benjamin Kietzman <bengilgit@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[C++] Check for valid variadic buffer counts
2 participants